Для дальнейших экпериментов мы создадим приложение на базе диалогового окна, на котором будем распологать кнопки. К кнопкам будем добавлять код, который будет показывать тот или иной способ работы с классом CWinApp.
Для организации курсора в виде песочных часов есть функция DoWaitCursor.
virtual void DoWaitCursor(
int nCode // 1 часы - 0 нет часов.
);
И пример реализации при нажатии на кнопку. void CTestAppDlg::OnButton1()
{
CWinApp* cw=AfxGetApp();
cw->DoWaitCursor(1);
Sleep(1000);
cw->DoWaitCursor(0);
}
Функция LoadIcon позволяет прочитать иконку из файла ресурсов. Создайте в ресурсах иконку с идентификатором IDI_ICON1 по нажатию на кнопку, которую мы создадим, эта иконка будет иконкой приложения. Вот код.
void CTestAppDlg::OnButton2()
{
CWinApp* cw=AfxGetApp();
HICON hc=cw->LoadIcon(IDI_ICON1);
if (hc!=NULL)
{
SetIcon(hc,false);
}
}
Есть и еще одна функция LoadCursor(), которая читает курсор из файла ресурсов. Создайте курсор в файле ресурсов. И вот код немного не тривиальный, в смысле как из курсора сделать иконку.
void CTestAppDlg::OnButton3()
{
CWinApp* cw=AfxGetApp();
HICON hk=cw->LoadCursor(IDC_CURSOR1);
if (hk!=NULL)
{
SetIcon(hk,false);
}
}
Очень интересная функция HideApplication(). Она прячет окно и найти его можно будет только через Ctrl-Alt-Del. Создайте кнопку и текст кода.
void CTestAppDlg::OnButton4()
{
CWinApp* cw=AfxGetApp();
cw->HideApplication();
}